Increases in data storage and network bandwidth capacity have made massive amounts of audio, video and images available on intranets and the Internet. However, digital media documents, though rich in content, generally lack structured and descriptive metadata that would allow indexing, random access and cross-linking. Content processing algorithms, such as segmentation, summarization or speech recognition, are commonly used to index and search digital media content. These algorithms can be run either on archived content or on live streams. One advantage of having a real time streaming implementation is the reduction of the delay between the end of the broadcast and the time the archived document is indexed and available for searching.
For audio and video, content analysis algorithms usually generate time-coded metadata such as topic boundaries or word transcriptions. The time-code should have a reference, or origin, so that the code can be used to randomly access the media document from the metadata information; for instance, given a query word, find the exact location where this word has been pronounced within an audio document. For archived documents, the origin is naturally the beginning of the audio/video file. For live streams, the produced time-coded metadata has to be re-synchronized with the archived material. One approach is to send a synchronization tag within the stream to indicate the beginning of the soon-to-be archived document. Unfortunately streaming protocols do not always allow such a tag within the stream.
Alternate approaches include:                using external clock synchronization,        inserting an explicit synchronization data packet into the data stream, and/or        inserting a well identified synchronization signal into the data stream.        
External clock synchronization requires a priori agreement on the synchronization source and the existence of code to perform the synchronization (e.g., Audio Synchronization System, U.S. Pat. No. 5,655,144). It is usually an effective method, but data stream recorders may not have external clock synchronization. Moreover, the required precision of synchronization may be less than the clock difference after synchronization.
The same limitations apply when the synchronization is performed with synchronization data packets (e.g., Method and Apparatus for Finding a Correct Synchronization Point within a Data Stream, U.S. Pat. No. 6,249,319). This approach precludes the existence and use of specialized protocols.
Yet another approach inserts a well identified signal into the data stream and uses that pattern to synchronize clocks. This method is effective and is often used for analog signals. However, it cannot be used for audio live stream such as radio or video when broadcast over the Internet.